package cn.tedu.csmall.product.webapi.mapper;

import cn.tedu.csmall.pojo.entity.Category;
import cn.tedu.csmall.pojo.vo.CategoryListItemVO;
import cn.tedu.csmall.pojo.vo.CategoryStandardVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface CategoryMapper {

    /**
     * 插入类别数据
     * @param category 要插入的类别的数据
     * @return 受影响的行数
     */
    int insert(Category category);

    /**
     * 根据名称查询类别详情
     * @param name 类别名称
     * @return 匹配的类别详情  如果没有  返回null
     */
    CategoryStandardVO getByName(String name);

    /**
     * 根据类别id获取类别详情
     * @param id  类别id
     * @return 匹配的类别详情  如果没有  返回null
     */
    CategoryStandardVO getById(Long id);

    /**
     * 查询类别列表
     * @return 查询到的类别列表  如果数据表中无数据 则返回null
     */
    List<CategoryListItemVO> list();

    /**
     * 根据类别id更新类别"是否为父级类别"
     * @param id      类别id
     * @param parent  是否为父级类别  1=是, 0=否
     * @return        受影响的行数
     */
    int updateParentById(@Param("id") Long id, @Param("parent") Integer parent);
}
